Lecture 10: Recurrent Neural Network
Process Sequence of Recurrent Neural Network
์ผ๋ฐ Neural Network ์ ๋ชจ์ต์ ๋ค์๊ณผ ๊ฐ๋ค.
์ผ๋ฐ Neural Network ๋ ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์๋์ธต์ ์ง๋๋ฉด ๊ฒฐ๊ณผ ๊ฐ์ ์ถ๋ ฅํ๋ ํํ๋ก ๋์ด์๋ค. ๊ทธ๋ฌ๋ ์ด๋ ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ํ๊ฐ์ง ํ์ ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด ์ ๋๋ก ๋ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค. Recurrent Neural Network (์ค์ฌ์ RNN) ์ ๋ค์ํ ํ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ถ๋ ฅํ ์ ์๋ค.
๋ค์์ ๊ฐ๊ฐ์ ๊ฒฝ์ฐ์ ๋ํ ์์์ด๋ค.
- one to many: ์ด๋ฏธ์ง -> ์ด๋ฏธ์ง๋ฅผ ๋ฌ์ฌํ๋ ๋ฌธ์ฅ ๋ง๋ค๊ธฐ
- many to one: ์์ฐ์ด ๋ฌธ์ฅ -> ์ฃผ์ ํ์ ํ๊ธฐ
- many to many: ์์ด๋ก ๋ ๋ฌธ์ฅ -> ํ๋์ค์ด๋ก ๋ ๋ฌธ์ฅ
- many to many: ํ๋ ์ ๋ ๋ฒจ ๋จ์๋ก ์ด๋ฏธ์ง ๋ถ๋ฅ
Architecture of Recurrent Neural Network
RNN์ ๋ค์๊ณผ ๊ฐ์ ์์๋ก ์๋ํ๋ค.
- Recurrent coil๋ก ์ด๋ฃจ์ด์ง RNN ๋ ์ด์ด์ ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์ ์ฉ๋๋ค.
- RNN์ ์๋์ธต์ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ก์ด ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์๋๋ง๋ค ์ ๋ฐ์ดํธํ๋ค.
- RNN ์๋์ธต์ด ๊ฒฐ๊ณผ ๊ฐ์ ์ถ๋ ฅํ๋ค.
์ ๊ณผ์ ์ ์์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
$h_t = f_w(h_{t-1},x_t)$
์ฌ๊ธฐ์ $h_t$๋ ์๋ก์ด ์๋์ํ, $f_w$๋ ๊ฐ์ค์น ํ๋ ฌ๋ก ์ด๋ฃจ์ด์ง ํจ์, $h_{t-1}$๋ ์์ ์๋์ํ, $x_t$๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ด๋ค.
$x_t$๋ ์๊ฐ ๋จ์๋ก ๋ฐ๋๋ ๋ฐ์ดํฐ๋ก, $f_w$๋ ์๊ฐ์ด ์ง๋๋ ์ ์ง๋๋ ํจ์์ด๋ค.
์๋ ์์์ $h_t$์ ๋ณํ ๊ณผ์ , $f_w$๋ฅผ $tanh$ ๋ก ์ค์ ํ์์ ๋ ๋ชจ์ต์ด๋ค.
Computational Graph of Recurrent Neural Network
RNN์ด ์๋ํ๋ ๊ณผ์ ์ computational graph ๋ก ๋ค์ ํํํด๋ณด์๋ค.
$h_0$์ ์ฃผ๋ก 0์ผ๋ก๋ง ์ด๋ฃจ์ด์ง ํ๋ ฌ์ด๋ค. $h$๊ฐ ์๊ฐ์ด ๊ฐ์๋ก ๋ฐ๋๋ ๊ณผ์ ์ ํํํ๊ณ ์๋๋ฐ, ์ด๋ ์ฌ์ฉ๋๋ ๊ฐ์ค์น ํ๋ ฌ์ ๊ทธ๋๋ก ์ ์ง๋๋ค. RNN์ one-to-many, many-to-one, many-to-many์ ๊ฒฝ์ฐ์ ๋ํด ๊ฐ๊ฐ computaional graph๋ก ๋ํ๋ด ๋ณด์๋ค.
- one-to-many
2. many-to-one
3. many-to-many
์ ๊ทธ๋ฆผ์์ RNN๋ชจ๋ธ์ ๊ฐ ์๋์ํ์ ๋ํ ๊ณ์ฐ๊ฐ๊ณผ ์์ค๊ฐ์ ๊ณ์ฐํ์๋๋ฐ, ์์ค๊ฐ์ ์ด์ฉํ์ฌ gradient flow๋ฅผ ํ ์ ์๊ฒ๋๋ค.
Character-level Language Model
RNN์ด ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ์ฌ๋ก๋ผ๊ณ ํ๋ฉด Character-level Language Model ์ด ์๋ค. ์ด ๋ชจ๋ธ์ ๋ค์์ ๋์ฌ ๋ฌธ์๊ฐ ํ๊ฒ ๋ณ์๊ฐ ๋์ด ๋ค์์ ๋์ฌ ๋ฌธ์๋ฅผ ์์ธกํ๋ ์์ผ๋ก ์๋ํ๋ค.
๋ค์์ ๋์ฌ ๋ฌธ์๋ฅผ ๋ถ๋ฅํ์ฌ ์์ธกํ๋ ํํ๋ก ์๋ํ๋ฏ๋ก ์ถ๋ ฅ๊ฐ์ softmax classifier ๊ฐ ์ ์ฉํ๋ค.
Truncated Backpropagation through time
RNN์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ํ์ต์ ํ๋ฏ๋ก RNN์ ์ญ์ ํ๋ ์ฆ ์๊ฐ์ ๊ฑฐ์ฌ๋ฌ๊ฐ๋ ๊ฒ์ผ๋ก ์๊ฐํ ์ ์๋ค. ๊ทธ๋ฌ๋ RNN์ ๊ฐ๊ฐ์ ์์ค ๊ฐ์ ๋ํ gradient๋ฅผ ๋ชจ๋ ๊ตฌํ๋ฏ๋ก ์ญ์ ํ ๊ณผ์ ์ด ์๋นํ ๋ณต์กํ๊ณ ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก Truncated Backpropagation through time ์ด๋ค.
Truncated Backpropagation through time ์ ๊ณ์ฐ๊ณผ์ ์ ๊ฐ๋จํ๊ฒ ํ๊ธฐ ์ํด ์ ์ฌ์ง์ฒ๋ผ ๋ชจ๋ ๊ณผ์ ์ ๋ถํ ํ๋ค.
Implementation of RNN
์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ ์ ฐ์ต์คํผ์ด ์ํ๋ค์ RNN ๋ชจ๋ธ์ ํ๋ จ์์ผฐ๋๋ ์ ฐ์ต์คํผ์ด ๋ฌธ์ฒด์ ์๋นํ ๋น์ทํ ๋ฌธ์ฅ์ ๋ง๋ค์ด๋ด๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ํ algebraic geometry textbook์ ํ์ต์์ผฐ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๊ทธ๋ด์ธํ textbook ํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋ธ ๊ฒ์ ๋ณผ ์ ์๋ค.
c์ธ์ด๋ก ๋ ์ฝ๋๋ฅผ ํ์ต์์ผฐ๋๋ ๋ค์๊ณผ ๊ฐ์ด c์ธ์ด๋ก ๋ ์ฝ๋๋ฅผ ๋ง๋ค์ด๋ธ ๊ฒ๋ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฌ๋ ์์ ๋ชจ๋ ๊ฒฝ์ฐ์์ ๋ด์ฉ์ ์์ธํ ๋ณด๋ฉด ์๋นํ ๋ง์ด ์๋๊ณ ์ดํด๊ฐ ์ ํ ๋์ง ์๋ ๋ฌธ์ฅ์ด๋ผ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ฒฐ๊ตญ ์ธ๊ฐ์ด ์์ ํ ์ดํดํ ์ ์์ ์ ๋์ ๋ฌธ์ฅ์ ๋ง๋ค์ด ๋ด๋๊ฒ์ด RNN ๋ชจ๋ธ์ ์ต์ข ๋ชฉํ์ด๋ค.
Image Captioning
์ปดํจํฐ ๋น์ ์์ RNN์ CNN๊ณผ ํจ๊ป image captioning์ ํ์ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ฌ์ง์ด ์๋ค.
์ด ์ฌ์ง์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด image captioning ์ด ์ด๋ฃจ์ด์ง๋ค.
- ์ด๋ฏธ์ง๊ฐ CNN ๋ชจ๋ธ์ ์ ๋ ฅ์ด ๋์ด 1์ฐจ์ ๋ฐ์ดํฐ๋ก ์ถ๋ ฅ์ ํ๋ค.
2. ์ถ๋ ฅ๋ ๋ฐ์ดํฐ๊ฐ RNN ๋ชจ๋ธ์ ์
๋ ฅ์ด ๋์ด ์ฌ์ง์ ๋ํ ๋ฌ์ฌ๋ฅผ ํ๋ ๋ฌธ์ฅ์ ์ถ๋ ฅํ๋ค. ์ด๋, ๋ฌธ์ฅ์ ๋ง๋ค๊ธฐ ์ํด์๋ ์์์ ํธ์ ์ข
๋ฃ์ ํธ๊ฐ ํ์ํ๋ค.
Image Captioning with Attention
image captioning์ ์ฌ์ง์ ๋ชจ๋ ๋ถ๋ถ์ด ์๋ ์ผ๋ถ๋ถ๋ง ์ ์ ํ์ฌ ๊ทธ ๋ถ๋ถ๋ง ํ์ตํ ์ ์๊ฒ ํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด CNN์ ์ถ๋ ฅ๊ฐ์ 1์ฐจ์์ด ์๋ L(์ง์ญ์ ๋ํ ์ ๋ณด๊ฐ) x D(ํน์ง๊ฐ)์ธ 2์ฐจ์ ๋ฐ์ดํฐ๊ฐ ๋๋ค.
๊ฐ ์๋์ธต์ ๋ํ ๊ฒฐ๊ณผ๋ก ์ง์ญ์ ๋ํ ์ ๋ณด๊ฐ๊ณผ ์ฌ์ง์ ์ผ๋ถ๋ถ์ ๋ฌ์ฌํ ๋จ์ด๊ฐ ๋์จ๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๋ชจ๋ ์ง์ญ์ ๋ํด ๋ฐ๋ณตํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ง ์ ์ฒด๋ฅผ ๋ฌ์ฌํ ๋ฌธ์ฅ์ ์์ฑํ ์ ์๋ค.
Multilayer RNNs
๊ธฐ์กด RNN๋ชจ๋ธ์ ์๋ ๋ ์ด์ด๋ฅผ ๋ ์์์ ๋ชจ๋ธ์ ๋ ๊น๊ฒ ๋ง๋ค ์ ์๋ค. ๋จ, ๋ ์ด์ด๋ฅผ 5๊ฐ ์ด์์ผ๋ก ์๋ ๊ฒ์ ์ข์ง ์๋ค.
RNN gradient flow
์ผ๋ฐ RNN๋ชจ๋ธ์์ gradient flow๋ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฃจ์ด์ง๋ค.
$h_t$, $tanh$, $W$, $h_(t-1)$์์ผ๋ก ์ญ์ ํ๊ฐ ์ด๋ฃจ์ด์ง๋ค. ์ฆ, ์ญ์ ํ๋ฅผ ํ ๋๋ง๋ค $W$์ ์ ์นํ๋ ฌ์ ๊ณฑํ๊ฒ ๋๋ค. ๋ฐ๋ผ์ RNN์ ๊ตฌ์กฐ๊ฐ ๋ ๊น์ด์ง์๋ก ์ด๋ฌํ ๊ณ์ฐ์ ๋งค์ฐ ๋ณต์กํ๊ฒ ๋ณํ๊ณ $W$์ ์ ์นํ๋ ฌ์ ๊ฐ์ ๋ฐ๋ผ gradient๊ฐ์ด ๋ฌ๋ผ์ง๋ค.
- ์ ์นํ๋ ฌ์ ๊ฐ์ฅ ํฐ ๊ฐ์ด 1๋ณด๋ค ํฌ๋ค -> gradient๊ฐ ๋ฐ์ฐํ๋ค.
- ์ ์นํ๋ ฌ์ ๊ฐ์ฅ ํฐ ๊ฐ์ด 1๋ณด๋ค ์๋ค -> gradient๊ฐ 0์ผ๋ก ์๋ ดํ๋ค.
์ด๋ ๊ฒ ์ญ์ ํ๋ฅผ ํ ๋ ์๊ธฐ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ด Long Short Term Memory(LSTM)์ด๋ค.
Long Short Term Memory(LSTM)
LSTM์ ๊ธฐ๋ณธ์ ์ธ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ $\sigma$๋ ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ์๋ฏธํ๊ณ $f, i, g, o$๋ ๋ค์์ ์๋ฏธํ๋ค.
- $f$: forget gate - ์ ์ ์ง์ธ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
- $i$: input gate - ์ ์ ์ ๋ ฅ์ ํ ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
- $g$: gate gate(?) - ์ ์ ์ผ๋ง๋งํผ ์ ๋ ฅํ ์ง ๊ฒฐ์ ํ๋ค.
- $o$: output gate - ์ ์ ์ผ๋ง๋งํผ ๋ณด์ฌ์ค์ง ๊ฒฐ์ ํ๋ค.
LSTM์ ์๋์ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์๋ํ๋ค.
$f, i, g, o$์ ๊ฐ์ ๋ฐ๋ผ ๋ค์$c_t$์ ๊ฐ์ด ๊ฒฐ์ ๋๋ค. ์ด๋ $h_t$๊ฐ์ ๋ณ๋์ ์ ๋ ฅ์ด๋ ์ถ๋ ฅ๋๋ ๊ฒ ์์ด $c_t$๊ฐ์๋ง ์ํฅ์ ๋ฐ์ผ๋ฏ๋ก gradient flow๋ฅผ ํ ๋ ๋ค์๊ณผ ๊ฐ์ด $c_t$ ๊ฐ๋ง ๊ณ ๋ คํ๋ฉด ๋๋ค.
Summary
- ์ผ๋ฐ RNN ๊ตฌ์กฐ๋ ๊ฐ๋จํ๋ gradient flow์ ์ด๋ ค์ ๋๋ฌธ์ ์ ์ฌ์ฉ๋์ง ์๋๋ค.
- gradient flow ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ LSTM์ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๋ค.
- ๋ ๊ฐ๋จํ์ง๋ง ์ข์ ์ฑ๋ฅ์ ๋ณด์ด๋ RNN ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ๋ฐฉํฅ์ผ๋ก ํ์ฌ ์ฐ๊ตฌ๊ฐ ์งํ๋๊ณ ์๋ค.
Comments